from paprika import *
from paprika import data

def repr(decorated_class):
    def __repr__(self):
        attributes = [
            attr
            for attr in dir(self)
            if not attr.startswith("_")
               and not (
                hasattr(self.__dict__[attr], "__call__")
                if attr in self.__dict__
                else hasattr(decorated_class.__dict__[attr], "__call__")
            )
        ]
        output_format = [
            f"{attr}={self.__dict__[attr]}"
            if attr in self.__dict__
            else f"{attr}={decorated_class.__dict__[attr]}"
            for attr in attributes
        ]
        return f"{decorated_class.__name__}@[{', '.join(output_format)}]"
    decorated_class.__repr__ = __repr__
    return decorated_class